From 144fd7d0d6ea26e8d615a58c481131a74f71a96c Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc" Date: Thu, 12 Dec 2019 01:07:15 -0600 Subject: [PATCH] On startup fail also print to stderr --- src/pgwui_server/__init__.py | 1 + tests/test___init__.py | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/pgwui_server/__init__.py b/src/pgwui_server/__init__.py index be9fa28..a695958 100644 --- a/src/pgwui_server/__init__.py +++ b/src/pgwui_server/__init__.py @@ -188,6 +188,7 @@ def exit_on_invalid_settings(settings): validate_settings(settings) except Error as ex: log.critical(ex) + print(ex, file=sys.stderr) # in case logging is broken sys.exit(1) diff --git a/tests/test___init__.py b/tests/test___init__.py index 2891807..743145a 100644 --- a/tests/test___init__.py +++ b/tests/test___init__.py @@ -258,8 +258,10 @@ def test_validate_settings(monkeypatch): # exit_on_invalid_settings() -def test_exit_on_invalid_settings_exits(monkeypatch, caplog): - '''Logs critical and exits with 1 when a setting is invalid''' +def test_exit_on_invalid_settings_exits(monkeypatch, capsys, caplog): + '''Logs critical, prints on stderr, and exits with 1 when a + setting is invalid + ''' caplog.set_level(logging.CRITICAL) exit1_called = False @@ -279,10 +281,13 @@ def test_exit_on_invalid_settings_exits(monkeypatch, caplog): assert exit1_called assert len(caplog.record_tuples) == 1 + (out, err) = capsys.readouterr() + assert out == '' + assert err != '' -def test_exit_on_invalid_settings_valid(monkeypatch, caplog): - '''Returns without logging when all settings are valid''' +def test_exit_on_invalid_settings_valid(monkeypatch, capsys, caplog): + '''Returns, without logging or printing, when all settings are valid''' caplog.set_level(logging.INFO) def mock_validate_settings(settings): @@ -294,6 +299,9 @@ def test_exit_on_invalid_settings_valid(monkeypatch, caplog): pgwui_server_init.exit_on_invalid_settings({}) assert len(caplog.record_tuples) == 0 + (out, err) = capsys.readouterr() + assert out == '' + assert err == '' # parse_assignments() -- 2.34.1